package main

func main() {
	//1、定义string类型
	//var str1 string = "你好golang"
	//var str2 = "你好 go"
	//str3 := "你好golang"
	//
	//fmt.Printf("%v-----%T\n", str1, str1)
	//fmt.Printf("%v-----%T\n", str2, str2)
	//fmt.Printf("%v-----%T\n", str3, str3)

	//2、字符串转义
	//str1 := "this \nis str" //换行
	//fmt.Println(str1)

	//str2 := "C:\\Go\\bin" //C:\Go\bin	输出反斜杠
	//fmt.Println(str2)

	/*
		C:GO"bin
	*/
	//str2 := "C:Go\"bin"
	//fmt.Println(str2)

	//3、多行字符串		`(反引号)	tab键上面
	//str2 := `this is str
	//this is str
	//this is str
	//this is str
	//this is str
	//this is str
	//`
	//
	//fmt.Println(str2)

	//4、len(str) 求长度
	//var str1 = "aaaa"
	//fmt.Println(len(str1)) //4

	//var str1 = "你好"
	//fmt.Println(len(str1)) //6

	//5、+ 或者 fmt.Sprintf拼接字符串
	//str1 := "你好"
	//str2 := "golang"
	//str3 := str1 + str2
	//fmt.Println(str1 + str2)
	//fmt.Println(str3)

	//str1 := "你好"
	//str2 := "golang"
	//str3 := fmt.Sprintf("%v %v", str1, str2)
	//fmt.Println(str3)

	//str1 := "你好" +
	//	"golang"
	//
	//fmt.Println(str1)

	//6、strings.Split分割字符串 strings需要引入strings包
	//var str1 = "123-456-789"
	//arr := strings.Split(str1, "-")
	//fmt.Println(arr) //[123 456 789] 切片（简单的理解切片就是数组	在golang中切片和数组还是有一些区别）

	//7、strings.Join(elems []string, sep string) join操作，表示把切片链接成字符串
	//var str1 = "123-456-789"
	//arr := strings.Split(str1, "-")
	//
	//str2 := strings.Join(arr, "*")
	//fmt.Println(str2) //123*456*789

	//arr := []string{"php", "java", "go"} //切片 后期会详细讲
	//fmt.Println(arr)
	//str3 := strings.Join(arr, "-")
	////fmt.Println(str3) //php-java-go
	//fmt.Printf("%v - %T\n", str3, str3)

	//8、strings.contains 判断字符串是否包含指定字符串
	//str1 := "this is golang"
	//str2 := "thisxxx"
	//flag := strings.Contains(str1, str2)
	//fmt.Printf("%v - %T", flag, flag) //false

	//9、strings.HasPrefix，strings.HasSuffix前缀/后缀判断
	//str1 := "this is golang"
	//str2 := "golang"
	//flag := strings.HasPrefix(str1, str2)
	//flag := strings.HasSuffix(str1, str2)

	//fmt.Println(flag)

	//10、strings.Index()，strings.LastIndex()
	//str1 := "this is str"
	//str2 := "is"
	//num := strings.Index(str1, str2) //元素在字符串出现的最后一个位置
	//fmt.Println(num)                 //返回2

	//str1 := "this is str"
	//str2 := "is"
	//num := strings.LastIndex(str1, str2) //元素在字符串出现的最后一个位置
	//fmt.Println(num)                     //返回5

	//str1 := "this is str"
	//str2 := "s"
	//num := strings.LastIndex(str1, str2) //元素在字符串出现的最后一个位置
	//fmt.Println(num)                     //返回8

	//str1 := "this is str"
	//str2 := "xxx"
	//num := strings.LastIndex(str1, str2) //元素在字符串出现的最后一个位置
	//fmt.Println(num)                     //-1 查找不到返回-1
}
